With the development of computing technology, large amounts of data are generated for various purposes. The data is stored and organized in a variety of devices such as personal computers, mobile terminals, servers, dedicated storage devices and the like. The data usually needs to be migrated between different storage media including volatile storage and non-volatile storage. Examples of volatile storage include, but are not limited to, random access memory (RAM), cache memory, and the like. Examples of non-volatile storage include, but are not limited to, hard disk drives (HDDs), serial advanced technology attachment (SATA) disk drives, solid state drives (SSDs), tape drives, and the like. Storage and migration of the data have a direct impact on the overall performance of the devices.